﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using BUS;
using DTO;
using System.Text.RegularExpressions;
namespace CungMuaC5.Products
{
    public partial class ThanhToan_1 : System.Web.UI.Page
    {
        BUS_KhuyenMai sp = new BUS_KhuyenMai();
        BUS_TaiKhoan Login = new BUS_TaiKhoan();

        protected void Page_Load(object sender, EventArgs e)
        {
            List<DTO_KhuyenMai> detail = sp.GetDetails(Request.QueryString["MaKM"]);
            Label dongia = (Label)ProductTable.FindControl("lblDonGia");
            dongia.Text = detail[0].DonGiaMoi.ToString();
            Label thanhtien = (Label)ProductTable.FindControl("lblThanhTien");
            DropDownList drop = (DropDownList)ProductTable.FindControl("SoLuong");
            thanhtien.Text = (Convert.ToInt32(dongia.Text) * Convert.ToInt32(drop.SelectedValue.ToString())).ToString()+" đ";
            Label tong = (Label)ProductTable.FindControl("lblTong");
            tong.Text = thanhtien.Text;
            Label name = (Label)ProductTable.FindControl("lblName");
            name.Text = detail[0].TenKM;

            RadioButton radio = (RadioButton)AccordionPane1.FindControl("RadioButton1");
            radiobuttondiv1.Attributes.Add("onclick", "radiochoose(document.getElementById('" + RadioButton1.ClientID + "'),document.getElementById('" +RadioButton2.ClientID+ "'))");
            radio = (RadioButton)AccordionPane2.FindControl("RadioButton2");
            radiobuttondiv2.Attributes.Add("onclick", "radiochoose(document.getElementById('" + RadioButton2.ClientID + "'),document.getElementById('" + RadioButton1.ClientID + "'))");

            DetailsView3.DataSource = sp.GetDetails(Request.QueryString["MaKM"]);
            DetailsView3.DataBind();
            if (!IsPostBack)
            {
                radio = (RadioButton)AccordionPane1.FindControl("RadioButton1");
                radio.Checked = true;

                if (Session.IsLogin() == 1)
                {
                    List<DTO_TaiKhoan> acc=Login.ThongTinTaiKhoan(Session.GetCurrentUser().MaTK.ToString());
                    TxtName1.Text = acc[0].HoTen;
                    TxtEmail1.Text = acc[0].Email.Trim();
                    TxtDienThoai1.Text = acc[0].DienThoai.Trim();
                    TxtName2.Text = acc[0].HoTen;
                    TxtEmail2.Text = acc[0].Email.Trim();
                    TxtDienThoai2.Text = acc[0].DienThoai.Trim();
                }

                if (Request.UrlReferrer != null)
                {
                    if (Request.UrlReferrer.ToString().EndsWith("ThanhToan_2.aspx?makm=" + Request.QueryString["MaKM"]) || Request.UrlReferrer.ToString().EndsWith("ThanhToan_3.aspx?makm=" + Request.QueryString["MaKM"]))
                    {
                        DTO_DonHang dh = new DTO_DonHang();
                        dh = Session.GetDonHang();
                        drop.SelectedIndex = dh.SoLuong;
                        DTO_NguoiNhan receiver = Session.GetReceiver();
                        if (receiver != null)
                        {
                            //0 thu tại công ty 1 thu tại nhà
                            if (dh.HinhThucNhanHang == 0)
                            {
                                TxtName1.Text = receiver.HoTen;
                                TxtEmail1.Text = receiver.Email;
                                TxtDienThoai1.Text = receiver.DienThoai;
                                GhiChu1.Value = dh.GhiChu;
                            }
                            else
                            {
                                RadioButton2.Checked = true;
                                RadioButton1.Checked = false;
                                Accordion1.SelectedIndex = 1;
                                TxtName2.Text = receiver.HoTen;
                                TxtEmail2.Text = receiver.Email;
                                TxtDienThoai2.Text = receiver.DienThoai;
                                TxtAdr.Text = receiver.DiaChi;
                                for (int i = 0; i < KhuVucList.Items.Count; i++)
                                    if (KhuVucList.Items[i].Value == receiver.TP)
                                    {
                                        KhuVucList.SelectedIndex = i;
                                        break;
                                    }
                                TextArea2.Value = dh.GhiChu;
                            }
                        }
                    }
                }  
            }
            if (RadioButton2.Checked == true)
                Accordion1.SelectedIndex = 1;
            BUS_KhuVuc khuvuc = new BUS_KhuVuc();
            List<DTO_KhuVuc> listkhuvuc = khuvuc.SelectAll();
            foreach (DTO_KhuVuc kv in listkhuvuc)
                KhuVucList.Items.Add(kv.TenKhuVuc);
        }

        protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
        {
            DTO_NguoiNhan receiver = new DTO_NguoiNhan();
            DTO_DonHang dh = new DTO_DonHang();
            System.Web.UI.HtmlControls.HtmlTextArea htaDemo;
            DropDownList soluong = (DropDownList)ProductTable.FindControl("SoLuong");
            dh.SoLuong = soluong.SelectedIndex;

            bool flag = true;
            RadioButton radio = (RadioButton)AccordionPane1.FindControl("RadioButton1");

            if (radio.Checked == true)
            {
                if (TxtName1.Text.Trim() == "")
                {
                    flag = false;
                    LabelNameError1.Text = "Xin hãy nhập tên người nhận";
                    LabelNameError1.Visible = true;
                }
                /*else
                {
                    string nm = TxtName1.Text;
                    string error = "";
                    for (int i = 0; i < nm.Length; i++)
                        if (nm[i] < 48 || (nm[i] > 57 && nm[i] < 65) || (nm[i] > 90 && nm[i] < 97) || nm[i] > 122)
                        {
                            flag = false;
                            error += nm[i] + " ";
                        }
                    if (flag == false)
                    {
                        LabelNameError1.Text = "Tại sao tên bạn có " + error + "?";
                        LabelNameError1.Visible = true;
                    }
                }*/
                receiver.HoTen = TxtName1.Text;

                if (TxtEmail1.Text.Trim() == "")
                {
                    flag = false;
                    LabelEmailError1.Text = "Xin hãy nhập Email liên lạc";
                    LabelEmailError1.Visible = true;    
                }
                else 
                {
                    string EmailRegex = @"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
     + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
				[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
     + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
				[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
     + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
                    if (Regex.IsMatch(TxtEmail1.Text, EmailRegex) == false)
                    {
                        flag = false;
                        LabelEmailError1.Text = "Email không hợp lệ";
                        LabelEmailError1.Visible = true;
                    }
                }
                receiver.Email = TxtEmail1.Text;

                if (TxtDienThoai1.Text.Trim() == "")
                {
                    flag = false;
                    LabelPhoneError1.Text = "Xin hãy nhập điện thoại liên lạc";
                    LabelPhoneError1.Visible = true;
                }
                else
                {
                    string dt = TxtDienThoai1.Text;
                    for (int i = 0; i < dt.Length; i++)
                        if (dt[i] < 48 || dt[i] > 57)
                        {
                            flag = false;
                            LabelPhoneError1.Text = "Số điện thoại chỉ có thể là số!";
                            LabelPhoneError1.Visible = true;
                            break;
                        }
                }
                receiver.DienThoai = TxtDienThoai1.Text;

                htaDemo = GhiChu1;
                dh.HinhThucNhanHang = 0;
            }
            else
            {
                if (TxtName2.Text.Trim() == "")
                {
                    flag = false;
                    LabelNameError2.Text = "Xin hãy nhập tên người nhận";
                    LabelNameError2.Visible = true;
                }
                /*else
                {
                    string nm = TxtName2.Text;
                    string error = "";
                    for (int i = 0; i < nm.Length; i++)
                        if (nm[i] < 48 || (nm[i] > 57 && nm[i] < 65) || (nm[i] > 90 && nm[i] < 97) || nm[i] > 122)
                        {
                            flag = false;
                            error += nm[i]+" ";
                        }
                    if (flag == false)
                    {
                        LabelNameError2.Text = "Tại sao tên bạn có " + error + "?";
                        LabelNameError2.Visible = true;
                    }
                }*/
                receiver.HoTen = TxtName2.Text;

                if (TxtEmail2.Text.Trim() == "")
                {
                    flag = false;
                    LabelEmailError2.Text = "Xin hãy nhập Email liên lạc";
                    LabelEmailError2.Visible = true;
                }
                else
                {
                    string EmailRegex = @"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
     + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
				[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
     + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
				[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
     + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
                    if (Regex.IsMatch(TxtEmail2.Text, EmailRegex) == false)
                    {
                        flag = false;
                        LabelEmailError2.Text = "Email không hợp lệ";
                        LabelEmailError2.Visible = true;
                    }
                }
                receiver.Email = TxtEmail2.Text;

                if (TxtDienThoai2.Text.Trim() == "")
                {
                    flag = false;
                    LabelPhoneError2.Text = "Xin hãy nhập điện thoại liên lạc";
                    LabelPhoneError2.Visible = true;
                }
                else
                {
                    string dt=TxtDienThoai2.Text;
                    for(int i=0;i<dt.Length;i++)
                        if (dt[i] < 48 || dt[i] > 57)
                        {
                            flag = false;
                            LabelPhoneError2.Text = "Số điện thoại chỉ có thể là số!";
                            LabelPhoneError2.Visible = true;
                            break;
                        }
                }
                receiver.DienThoai = TxtDienThoai2.Text;

                if (TxtAdr.Text.Trim() == "")
                {
                    flag = false;
                    LabelAdrError.Visible = true;
                }
                receiver.DiaChi = TxtAdr.Text;
                receiver.TP = KhuVucList.SelectedValue;

                htaDemo = TextArea2;
                dh.HinhThucNhanHang = 1;
            }

            if (flag == true)
            {
                dh.GhiChu = htaDemo.Value;
                Session.SetDonHang(dh);
                Session.SetReceiver(receiver);
                Response.Redirect("~/Products/ThanhToan_2.aspx?makm=" + Request.QueryString["MaKM"]);
            }
        } 
    }
}